package com.heima.article.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.article.dtos.ArticleHomeDTO;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.article.pojos.ApAuthor;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.pojos.WmNews;

public interface ApArticleService extends IService<ApArticle> {
    /**
     * 保存或修改文章
     * @param newsId 文章id
     * @return
     */
    boolean publishArticle(Integer newsId);

    /**
     * 根据文章Id查询文章
     * @param newsId
     * @return
     */
    WmNews getWmNews(Integer newsId);

    /**
     * 根据文章对象封装文章详细信息对象
     * @param wmNews
     * @return
     */
    ApArticle getArticle(WmNews wmNews);

    void saveConfigAndContent(WmNews wmNews, ApArticle article);

    void operationArticle( ApArticle article);

    /**
     * 更新文章状态为已发布
     * @param wmNews
     */
    void updateWmNewsStatus(WmNews wmNews, Long articleId);

    /**
     * 根据参数加载文章列表
     * @param loadType 0为加载更多  1为加载最新
     * @param dto
     * @return
     */
    ResponseResult load(Short loadType, ArticleHomeDTO dto);

    /**
     * 根据参数加载文章列表  v2
     * @param loadtypeLoadMore 读取的类别
     * @param dto 文章首页dto
     * @param firstPage 第一页
     * @return 文章列表
     */
    ResponseResult load2(Short loadtypeLoadMore, ArticleHomeDTO dto, boolean firstPage);
}
